DESCRIPTION
==========================================================
Defines abstract classes for models